<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//Ultima verificacion: 12-03-2015
class AsignacionAlumno extends CI_Controller {
	//Metodo constructor de la clase
	function __construct(){
		parent::__construct();
	}
	
	//Este metodo no se puede llamar con ajax
	//Muestra un listado con todos los alumnos posibles del lado izquierdo y todos los alumnos cargados del lado derecho
	//Filtros (Los primeros tres filtros solo sirven para seleccionar la division correcta)
	function consultar($idCicloLectivo=null, $idTurno=null, $idCurso=null, $idDivision=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDirector') == '1' || $this->session->userdata('permisoVicedirector') == '1' || $this->session->userdata('permisoSecretario') == '1')){
			//Segunda comprobacion: Que idCicloLectivo pasado sea numerico y mayor o igual que cero. Lo mismo para el turno, el curso y la division
			if(is_numeric($idCicloLectivo) && $idCicloLectivo>=0 && is_numeric($idTurno) && $idTurno>=0 && is_numeric($idCurso) && $idCurso>=0 && is_numeric($idDivision) && $idDivision>=0){
				//Cargo el modelo donde estan los datos de los ciclos lectivos
				$this->load->model('m_ciclo_lectivo');
				
				//Busco al ciclo lectivo para comprobar que existe
				$cicloLectivo = $this->m_ciclo_lectivo->get($idCicloLectivo);
				
				//Cargo el modelo donde estan los datos de los turnos
				$this->load->model('m_turno');
				
				//Busco al turno para comprobar que existe
				$turno = $this->m_turno->get($idTurno);
				
				//Cargo el modelo donde estan los datos de los cursos
				$this->load->model('m_curso');
				
				//Busco al curso para comprobar que existe
				$curso = $this->m_curso->get($idCurso);
				
				//Cargo el modelo donde estan los datos de las divisiones
				$this->load->model('m_division');
				
				//Busco a la division para comprobar que existe
				$division = $this->m_division->get($idDivision);
				
				//Tercera comprobacion: Que el ciclo lectivo pasado por la url sea existente o bien el id sea igual a cero. Lo mismo para el turno, curso y division
				if(($cicloLectivo->num_rows() == 1 || $idCicloLectivo==0) && ($turno->num_rows() == 1 || $idTurno==0) && ($curso->num_rows() == 1 || $idCurso==0) && ($division->num_rows() == 1 || $idDivision==0)){
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los turnos activos
					$listadoTurnos = $this->m_turno->buscarActivos();
					
					//Le paso el listado de todos los turnos a la vista para que los muestre en un combo de filtrado
					$datos['turnos'] = $listadoTurnos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los ciclos lectivos
					$listadoCiclosLectivos = $this->m_ciclo_lectivo->buscar();
					
					//Le paso el listado de todos los ciclos lectivos a la vista para que los muestre en un combo de filtrado
					$datos['ciclosLectivos'] = $listadoCiclosLectivos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Si el ciclo lectivo pasado por la url es igual a cero entonces hay que seleccionar el ciclo vigente, en caso contrario el que haya sido pasado
					if($idCicloLectivo==0){
						//Busco el ciclo lectivo vigente
						$cicloLectivoVigente = $this->m_ciclo_lectivo->getVigente();
						
						if($cicloLectivoVigente->num_rows() == 1){
							//Le paso a la vista el id del ciclo lectivo vigente
							$datos['idCicloLectivoSel'] = $cicloLectivoVigente->row()->idCicloLectivo;
						}else{
							//No hay ciclo lectivo seleccionado ni vigente
							$datos['idCicloLectivoSel'] = 0;
						}
					}else{
						//Le paso a la vista el id del ciclo lectivo pasado por la url
						$datos['idCicloLectivoSel'] = $idCicloLectivo;
					}
					
					//Le paso a la vista el id del turno
					$datos['idTurnoSel'] = $idTurno;
					
					//Le paso a la vista el id del curso
					$datos['idCursoSel'] = $idCurso;
					
					//Le paso a la vista el id de la division
					$datos['idDivisionSel'] = $idDivision;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Restricciones a los cursos y divisiones
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					$restriccion1 = "";
					$restriccion2 = "";
					if($idCicloLectivo==0){
						//Busco el ciclo lectivo vigente
						$cicloLectivoVigente = $this->m_ciclo_lectivo->getVigente();
						
						if($cicloLectivoVigente->num_rows() == 1){
							$restriccion1 = " AND curso.idCicloLectivo=".$cicloLectivoVigente->row()->idCicloLectivo;
						}else{
							$restriccion1 = " AND curso.idCicloLectivo=0";
						}
					}else{
						$restriccion1 = " AND curso.idCicloLectivo=".$idCicloLectivo;					
					}
					
					if($idTurno!=0){
						$restriccion1 .= " AND curso.idTurno=".$idTurno;
					}
					
					$restriccion2 = " AND division.idCurso=".$idCurso;
										
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los cursos registrados para pedirle un listado con todos ellos
					$this->load->model('m_curso');
					
					//Busco todos los cursos activos segun las restricciones
					$listadoCursos = $this->m_curso->buscarActivos($restriccion1);
					
					//Le paso el listado de todos los cursos a la vista para que los muestre en un combo de filtrado
					$datos['cursos'] = $listadoCursos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de las divisiones registradas para pedirle un listado con todas ellas
					$this->load->model('m_division');
					
					//Busco todas las divisiones activas segun las restricciones
					$listadoDivisiones = $this->m_division->buscarActivos($restriccion1 . $restriccion2);
					
					//Le paso el listado de todas las divisiones a la vista para que los muestre en un combo
					$datos['divisiones'] = $listadoDivisiones;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos registrados para pedirle un listado con todos ellos
					$this->load->model('m_alumno');
					
					//Busco los alumnos que todavia no fueron cargados a la division en cuestion ni el ciclo seleccionado
					$restricciones = "AND alumno.idAlumno NOT IN (SELECT alumnoxdivision.idAlumno 
																  FROM alumnoxdivision, division, curso
																  WHERE alumnoxdivision.idDivision=division.idDivision AND
																		division.idCurso=curso.idCurso AND
																		curso.idCicloLectivo=".$datos['idCicloLectivoSel']." AND alumnoxdivision.estado=1)";
										
					//Busco todos los alumnos segun las restricciones
					$listadoAlumnos = $this->m_alumno->buscarActivos($restricciones);
					
					//Le paso el listado de todos los alumnos a la vista para que los muestre en una tabla (LADO IZQUIERDO)
					$datos['alumnosDisponibles'] = $listadoAlumnos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos asignados a una division para pedirle un listado con todos ellos
					$this->load->model('m_alumnoxdivision');
					
					//Busco los alumnos cargados a la division en cuestion
					$restricciones = "AND alumnoxdivision.idDivision=".$this->db->escape($idDivision)." AND alumnoxdivision.estado=1";
					
					//Busco todos los alumnos segun las restricciones
					$listadoAlumnos = $this->m_alumnoxdivision->buscar($restricciones);
					
					//Le paso el listado de todos los alumnos asignados a la vista para que los muestre en una tabla (TABLA DERECHA)
					$datos['alumnosAsignados'] = $listadoAlumnos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo la vista donde se muestra la tabla de asignaciones de alumnos y la guardo en una variable para pasarsela a la vista principal
					$datosPrincipal['vista'] = $this->load->view('v_asignaciones_alumnos', $datos, true);
					
					//Cargo la vista principal con los datos de la vista consultar asignaciones
					$this->load->view('v_sistema', $datosPrincipal);
				} else {
					//El o los registros no existen.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//Los parametros pasados no son validos para consultar los registros.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Este metodo solo se puede llamar con ajax
	//Sirve para eliminar la asignacion pasada por la url
	//El segundo, tercer, cuarto y quinto parametro indican los criteros para filtrar las asignaciones en el resultado
	function eliminar($idAxD=null, $idCicloLectivo=null, $idTurno=null, $idCurso=null, $idDivision=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDirector') == '1' || $this->session->userdata('permisoVicedirector') == '1' || $this->session->userdata('permisoSecretario') == '1')){
			//Segunda comprobacion: Que idAxD pasado sea numerico y mayor que cero. Ademas que idCicloLectivo pasado sea numerico y mayor o igual que cero. Lo mismo para el idTurno e idCurso. idDivision debe ser mayor que cero.
			if(is_numeric($idAxD) && $idAxD>0 && is_numeric($idCicloLectivo) && $idCicloLectivo>=0 && is_numeric($idTurno) && $idTurno>=0 && is_numeric($idCurso) && $idCurso>=0 && is_numeric($idDivision) && $idDivision>0){
				//Cargo el modelo donde estan los datos de las asignaciones registradas
				$this->load->model('m_alumnoxdivision');
				
				//Busco a la asignacion que hay que eliminar
				$asignacion = $this->m_alumnoxdivision->get($idAxD);
				
				//Cargo el modelo donde estan los datos de los ciclos lectivos
				$this->load->model('m_ciclo_lectivo');
				
				//Busco al ciclo lectivo para comprobar que existe
				$cicloLectivo = $this->m_ciclo_lectivo->get($idCicloLectivo);
				
				//Cargo el modelo donde estan los datos de los turnos
				$this->load->model('m_turno');
				
				//Busco al turno para comprobar que existe
				$turno = $this->m_turno->get($idTurno);
				
				//Cargo el modelo donde estan los datos de los cursos registrados
				$this->load->model('m_curso');
				
				//Busco al curso para comprobar que existe
				$curso = $this->m_curso->get($idCurso);
				
				//Cargo el modelo donde estan los datos de las divisiones registradas
				$this->load->model('m_division');
				
				//Busco a la division para comprobar que existe
				$division = $this->m_division->get($idDivision);
				
				//Tercera comprobacion: Que la asignacion sea existente. Ademas que el ciclo lectivo pasado por la url sea existente, o bien el ciclo lectivo sea cero. Lo mismo para el turno y curso. La division debe ser existente.
				if($asignacion->num_rows() == 1 && ($cicloLectivo->num_rows() == 1 || $idCicloLectivo==0) && ($turno->num_rows() == 1 || $idTurno==0) && ($curso->num_rows() == 1 || $idCurso==0) && $division->num_rows() == 1){
					//Elimino a la asignacion pasada por la url
					$respuesta = $this->m_alumnoxdivision->eliminar($idAxD, $this->session->userdata('idUsuarioLog'));
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los turnos activos
					$listadoTurnos = $this->m_turno->buscarActivos();
					
					//Le paso el listado de todos los turnos a la vista para que los muestre en un combo de filtrado
					$datos['turnos'] = $listadoTurnos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los ciclos lectivos
					$listadoCiclosLectivos = $this->m_ciclo_lectivo->buscar();
					
					//Le paso el listado de todos los ciclos lectivos a la vista para que los muestre en un combo de filtrado
					$datos['ciclosLectivos'] = $listadoCiclosLectivos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Si el ciclo lectivo pasado por la url es igual a cero entonces hay que seleccionar el ciclo vigente, en caso contrario el que haya sido pasado
					if($idCicloLectivo==0){
						//Busco el ciclo lectivo vigente
						$cicloLectivoVigente = $this->m_ciclo_lectivo->getVigente();
						
						if($cicloLectivoVigente->num_rows() == 1){
							//Le paso a la vista el id del ciclo lectivo vigente
							$datos['idCicloLectivoSel'] = $cicloLectivoVigente->row()->idCicloLectivo;
						}else{
							//No hay ciclo lectivo seleccionado ni vigente
							$datos['idCicloLectivoSel'] = 0;
						}
					}else{
						//Le paso a la vista el id del ciclo lectivo pasado por la url
						$datos['idCicloLectivoSel'] = $idCicloLectivo;
					}
					
					//Le paso a la vista el id del turno
					$datos['idTurnoSel'] = $idTurno;
					
					//Le paso a la vista el id del curso
					$datos['idCursoSel'] = $idCurso;
					
					//Le paso a la vista el id de la division
					$datos['idDivisionSel'] = $idDivision;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Restricciones a los cursos y divisiones
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					$restriccion1 = "";
					$restriccion2 = "";
					if($idCicloLectivo==0){
						//Busco el ciclo lectivo vigente
						$cicloLectivoVigente = $this->m_ciclo_lectivo->getVigente();
						
						if($cicloLectivoVigente->num_rows() == 1){
							$restriccion1 = " AND curso.idCicloLectivo=".$cicloLectivoVigente->row()->idCicloLectivo;
						}else{
							$restriccion1 = " AND curso.idCicloLectivo=0";
						}
					}else{
						$restriccion1 = " AND curso.idCicloLectivo=".$idCicloLectivo;					
					}
					
					if($idTurno!=0){
						$restriccion1 .= " AND curso.idTurno=".$idTurno;
					}
					
					$restriccion2 = " AND division.idCurso=".$idCurso;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los cursos registrados para pedirle un listado con todos ellos
					$this->load->model('m_curso');
					
					//Busco todos los cursos activos segun las restricciones
					$listadoCursos = $this->m_curso->buscarActivos($restriccion1);
					
					//Le paso el listado de todos los cursos a la vista para que los muestre en un combo de filtrado
					$datos['cursos'] = $listadoCursos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de las divisiones registradas para pedirle un listado con todas ellas
					$this->load->model('m_division');
					
					//Busco todas las divisiones activas segun las restricciones
					$listadoDivisiones = $this->m_division->buscarActivos($restriccion1 . $restriccion2);
					
					//Le paso el listado de todas las divisiones a la vista para que los muestre en un combo
					$datos['divisiones'] = $listadoDivisiones;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos registrados para pedirle un listado con todos ellos
					$this->load->model('m_alumno');
					
					//Busco los alumnos que todavia no fueron cargados a la division en cuestion ni el ciclo seleccionado
					//$restricciones = "AND alumno.idAlumno NOT IN (SELECT alumnoxdivision.idAlumno FROM alumnoxdivision WHERE alumnoxdivision.idDivision=".$this->db->escape($idDivision)." AND alumnoxdivision.estado=1)";
					$restricciones = "AND alumno.idAlumno NOT IN (SELECT alumnoxdivision.idAlumno 
																  FROM alumnoxdivision, division, curso
																  WHERE alumnoxdivision.idDivision=division.idDivision AND
																		division.idCurso=curso.idCurso AND
																		curso.idCicloLectivo=".$datos['idCicloLectivoSel']." AND alumnoxdivision.estado=1)";
					//Busco todos los alumnos segun las restricciones
					$listadoAlumnos = $this->m_alumno->buscarActivos($restricciones);
					
					//Le paso el listado de todos los alumnos a la vista para que los muestre en una tabla (LADO IZQUIERDO)
					$datos['alumnosDisponibles'] = $listadoAlumnos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos asignados a una division para pedirle un listado con todos ellos
					$this->load->model('m_alumnoxdivision');
					
					//Busco los alumnos cargados a la division en cuestion
					$restricciones = "AND alumnoxdivision.idDivision=".$this->db->escape($idDivision)." AND alumnoxdivision.estado=1";
					
					//Busco todos los alumnos segun las restricciones
					$listadoAlumnos = $this->m_alumnoxdivision->buscar($restricciones);
					
					//Le paso el listado de todos los alumnos asignados a la vista para que los muestre en una tabla (TABLA DERECHA)
					$datos['alumnosAsignados'] = $listadoAlumnos;
					
					//Cargo la vista donde se muestra la tabla de asignaciones
					$this->load->view('v_asignaciones_alumnos', $datos);
				} else {
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					echo("No existe el registro seleccionado para borrar.");
				}
			} else {
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				echo("No se ha pasado los parametros necesarios para borrar un registro.");
			}			
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			echo("No tiene permiso para borrar un registro.");
		}
	}
	
	//Este metodo solo se puede llamar con ajax
	//Sirve para crear la asignacion del alumno pasada por la url
	//El segundo, tercer, cuarto y quinto parametro indican los criteros para filtrar las asignaciones en el resultado
	function crear($idAlumno=null, $idCicloLectivo=null, $idTurno=null, $idCurso=null, $idDivision=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDirector') == '1' || $this->session->userdata('permisoVicedirector') == '1' || $this->session->userdata('permisoSecretario') == '1')){
			//Segunda comprobacion: Que idAlumno pasado sea numerico y mayor que cero. Ademas que idCicloLectivo pasado sea numerico y mayor o igual que cero. Lo mismo para el idTurno e idCurso. idDivision debe ser mayor que cero.
			if(is_numeric($idAlumno) && $idAlumno>0 && is_numeric($idCicloLectivo) && $idCicloLectivo>=0 && is_numeric($idTurno) && $idTurno>=0 && is_numeric($idCurso) && $idCurso>=0 && is_numeric($idDivision) && $idDivision>0){
				//Cargo el modelo donde estan los datos de los alumnos registrados
				$this->load->model('m_alumno');
				
				//Busco al alumno que hay que cargar para comprobar que exista
				$alumno = $this->m_alumno->get($idAlumno);
				
				//Cargo el modelo donde estan los datos de los ciclos lectivos
				$this->load->model('m_ciclo_lectivo');
				
				//Busco al ciclo lectivo para comprobar que existe
				$cicloLectivo = $this->m_ciclo_lectivo->get($idCicloLectivo);
				
				//Cargo el modelo donde estan los datos de los turnos
				$this->load->model('m_turno');
				
				//Busco al turno para comprobar que existe
				$turno = $this->m_turno->get($idTurno);
				
				//Cargo el modelo donde estan los datos de los cursos registrados
				$this->load->model('m_curso');
				
				//Busco al curso para comprobar que existe
				$curso = $this->m_curso->get($idCurso);
				
				//Cargo el modelo donde estan los datos de las divisiones registradas
				$this->load->model('m_division');
				
				//Busco a la division para comprobar que existe
				$division = $this->m_division->get($idDivision);
				
				//Tercera comprobacion: Que el alumno sea existente. Ademas que el ciclo lectivo pasado por la url sea existente, o bien el ciclo lectivo sea cero. Lo mismo para el turno y curso. La division debe ser existente.
				if($alumno->num_rows() == 1 && ($cicloLectivo->num_rows() == 1 || $idCicloLectivo==0) && ($turno->num_rows() == 1 || $idTurno==0) && ($curso->num_rows() == 1 || $idCurso==0) && $division->num_rows() == 1){
					//Cargo el modelo donde estan los datos de las asignaciones
					$this->load->model('m_alumnoxdivision');
					
					//Creamos la asignacion
					$resultado = $this->m_alumnoxdivision->crear($idAlumno, $idDivision, 1, $this->session->userdata('idUsuarioLog'));
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los turnos activos
					$listadoTurnos = $this->m_turno->buscarActivos();
					
					//Le paso el listado de todos los turnos a la vista para que los muestre en un combo de filtrado
					$datos['turnos'] = $listadoTurnos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los ciclos lectivos
					$listadoCiclosLectivos = $this->m_ciclo_lectivo->buscar();
					
					//Le paso el listado de todos los ciclos lectivos a la vista para que los muestre en un combo de filtrado
					$datos['ciclosLectivos'] = $listadoCiclosLectivos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Si el ciclo lectivo pasado por la url es igual a cero entonces hay que seleccionar el ciclo vigente, en caso contrario el que haya sido pasado
					if($idCicloLectivo==0){
						//Busco el ciclo lectivo vigente
						$cicloLectivoVigente = $this->m_ciclo_lectivo->getVigente();
						
						if($cicloLectivoVigente->num_rows() == 1){
							//Le paso a la vista el id del ciclo lectivo vigente
							$datos['idCicloLectivoSel'] = $cicloLectivoVigente->row()->idCicloLectivo;
						}else{
							//No hay ciclo lectivo seleccionado ni vigente
							$datos['idCicloLectivoSel'] = 0;
						}
					}else{
						//Le paso a la vista el id del ciclo lectivo pasado por la url
						$datos['idCicloLectivoSel'] = $idCicloLectivo;
					}
					
					//Le paso a la vista el id del turno
					$datos['idTurnoSel'] = $idTurno;
					
					//Le paso a la vista el id del curso
					$datos['idCursoSel'] = $idCurso;
					
					//Le paso a la vista el id de la division
					$datos['idDivisionSel'] = $idDivision;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Restricciones a los cursos y divisiones
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					$restriccion1 = "";
					$restriccion2 = "";
					if($idCicloLectivo==0){
						//Busco el ciclo lectivo vigente
						$cicloLectivoVigente = $this->m_ciclo_lectivo->getVigente();
						
						if($cicloLectivoVigente->num_rows() == 1){
							$restriccion1 = " AND curso.idCicloLectivo=".$cicloLectivoVigente->row()->idCicloLectivo;
						}
					}else{
						$restriccion1 = " AND curso.idCicloLectivo=".$idCicloLectivo;					
					}
					
					if($idTurno!=0){
						$restriccion1 .= " AND curso.idTurno=".$idTurno;
					}
					
					$restriccion2 = " AND division.idCurso=".$idCurso;
																				
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los cursos registrados para pedirle un listado con todos ellos
					$this->load->model('m_curso');
					
					//Busco todos los cursos activos segun las restricciones
					$listadoCursos = $this->m_curso->buscarActivos($restriccion1);
					
					//Le paso el listado de todos los cursos a la vista para que los muestre en un combo de filtrado
					$datos['cursos'] = $listadoCursos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de las divisiones registradas para pedirle un listado con todas ellas
					$this->load->model('m_division');
					
					//Busco todas las divisiones activas segun las restricciones
					$listadoDivisiones = $this->m_division->buscarActivos($restriccion1 . $restriccion2);
					
					//Le paso el listado de todas las divisiones a la vista para que los muestre en un combo
					$datos['divisiones'] = $listadoDivisiones;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos registrados para pedirle un listado con todos ellos
					$this->load->model('m_alumno');
					
					//Busco los alumnos que todavia no fueron cargados a la division en cuestion ni el ciclo seleccionado
					//$restricciones = "AND alumno.idAlumno NOT IN (SELECT alumnoxdivision.idAlumno FROM alumnoxdivision WHERE alumnoxdivision.idDivision=".$this->db->escape($idDivision)." AND alumnoxdivision.estado=1)";
					$restricciones = "AND alumno.idAlumno NOT IN (SELECT alumnoxdivision.idAlumno 
																  FROM alumnoxdivision, division, curso
																  WHERE alumnoxdivision.idDivision=division.idDivision AND
																		division.idCurso=curso.idCurso AND
																		curso.idCicloLectivo=".$datos['idCicloLectivoSel']." AND alumnoxdivision.estado=1)";
					
					
					//Busco todos los alumnos segun las restricciones
					$listadoAlumnos = $this->m_alumno->buscarActivos($restricciones);
					
					//Le paso el listado de todos los alumnos a la vista para que los muestre en una tabla (LADO IZQUIERDO)
					$datos['alumnosDisponibles'] = $listadoAlumnos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos asignados a una division para pedirle un listado con todos ellos
					$this->load->model('m_alumnoxdivision');
					
					//Busco los alumnos cargados a la division en cuestion
					$restricciones = "AND alumnoxdivision.idDivision=".$this->db->escape($idDivision)." AND alumnoxdivision.estado=1";
					
					//Busco todos los alumnos segun las restricciones
					$listadoAlumnos = $this->m_alumnoxdivision->buscar($restricciones);
					
					//Le paso el listado de todos los alumnos asignados a la vista para que los muestre en una tabla (TABLA DERECHA)
					$datos['alumnosAsignados'] = $listadoAlumnos;
					
					//Cargo la vista donde se muestra la tabla de asignaciones
					$this->load->view('v_asignaciones_alumnos', $datos);
				} else {
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					echo("No existe el registro seleccionado para borrar.");
				}
			} else {
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				echo("No se ha pasado los parametros necesarios para borrar un registro.");
			}			
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			echo("No tiene permiso para borrar un registro.");
		}
	}
	
	//Este metodo no se puede llamar con ajax
	//Muestra un listado con todos los alumnos posibles del lado izquierdo (Division Origen) y todos los alumnos cargados del lado derecho (Division Destino)
	//Filtros: Los primeros tres filtros sirven para seleccionar la division correcta de origen
	//Los segundos tres filtros sirven para seleccionar la division correcta de destino
	function abrirPantallaImportar($idCicloLectivoOrigen=null, $idCursoOrigen=null, $idDivisionOrigen=null, $idCicloLectivoDestino=null, $idCursoDestino=null, $idDivisionDestino=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDirector') == '1' || $this->session->userdata('permisoVicedirector') == '1' || $this->session->userdata('permisoSecretario') == '1')){
			//Segunda comprobacion: Que idCicloLectivoOrigen pasado sea numerico y mayor o igual que cero. Lo mismo para el curso y la division tanto origen como destino
			if(is_numeric($idCicloLectivoOrigen) && $idCicloLectivoOrigen>=0 && is_numeric($idCursoOrigen) && $idCursoOrigen>=0 && is_numeric($idDivisionOrigen) && $idDivisionOrigen>=0 &&
				is_numeric($idCicloLectivoDestino) && $idCicloLectivoDestino>=0 && is_numeric($idCursoDestino) && $idCursoDestino>=0 && is_numeric($idDivisionDestino) && $idDivisionDestino>=0){
				//Cargo el modelo donde estan los datos de los ciclos lectivos
				$this->load->model('m_ciclo_lectivo');
				
				//Busco al ciclo lectivo de origen y destino para comprobar que existe
				$cicloLectivoOrigen = $this->m_ciclo_lectivo->get($idCicloLectivoOrigen);
				$cicloLectivoDestino = $this->m_ciclo_lectivo->get($idCicloLectivoDestino);
												
				//Cargo el modelo donde estan los datos de los cursos
				$this->load->model('m_curso');
				
				//Busco al curso origen y destino para comprobar que existe
				$cursoOrigen = $this->m_curso->get($idCursoOrigen);
				$cursoDestino = $this->m_curso->get($idCursoDestino);
				
				//Cargo el modelo donde estan los datos de las divisiones
				$this->load->model('m_division');
				
				//Busco a la division de origen y destino para comprobar que existe
				$divisionOrigen = $this->m_division->get($idDivisionOrigen);
				$divisionDestino = $this->m_division->get($idDivisionDestino);
				
				//Tercera comprobacion: Que el ciclo lectivo origen pasado por la url sea existente o bien el id sea igual a cero. Lo mismo para curso y division. Idem para los elementos de destino.
				if(($cicloLectivoOrigen->num_rows() == 1 || $idCicloLectivoOrigen==0) && ($cursoOrigen->num_rows() == 1 || $idCursoOrigen==0) && ($divisionOrigen->num_rows() == 1 || $idDivisionOrigen==0) &&
				   ($cicloLectivoDestino->num_rows() == 1 || $idCicloLectivoDestino==0) && ($cursoDestino->num_rows() == 1 || $idCursoDestino==0) && ($divisionDestino->num_rows() == 1 || $idDivisionDestino==0)){
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los ciclos lectivos
					$listadoCiclosLectivos = $this->m_ciclo_lectivo->buscar();
					
					//Le paso el listado de todos los ciclos lectivos a la vista para que los muestre en un combo de filtrado
					$datos['ciclosLectivos'] = $listadoCiclosLectivos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Le paso a la vista el id del ciclo de origen para que lo seleccione en el combo de filtrado
					$datos['idCicloLectivoOrigenSel'] = $idCicloLectivoOrigen;
					
					//Le paso a la vista el id del ciclo de destinto para que lo seleccione en el combo de filtrado
					$datos['idCicloLectivoDestinoSel'] = $idCicloLectivoDestino;
					
					//Le paso a la vista el id del curso de origen y destino
					$datos['idCursoOrigenSel'] = $idCursoOrigen;
					$datos['idCursoDestinoSel'] = $idCursoDestino;
					
					//Le paso a la vista el id de la division de origen y destino
					$datos['idDivisionOrigenSel'] = $idDivisionOrigen;
					$datos['idDivisionDestinoSel'] = $idDivisionDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Restricciones a los cursos y divisiones de origen y destino
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					$restriccionOrigen1 = "";
					$restriccionOrigen2 = "";
					$restriccionOrigen3 = "";
					
					$restriccionOrigen1 = " AND curso.idCicloLectivo=".$idCicloLectivoOrigen;
					$restriccionOrigen2 = " AND division.idCurso=".$idCursoOrigen;
										
					$restriccionDestino1 = "";
					$restriccionDestino2 = "";
					$restriccionDestino3 = "";
					
					$restriccionDestino1 = " AND curso.idCicloLectivo=".$idCicloLectivoDestino;
					$restriccionDestino2 = " AND division.idCurso=".$idCursoDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los cursos registrados para pedirle un listado con todos ellos
					$this->load->model('m_curso');
					
					//Busco todos los cursos de origen y destino activos segun las restricciones
					$listadoCursosOrigen = $this->m_curso->buscarActivos($restriccionOrigen1);
					$listadoCursosDestino = $this->m_curso->buscarActivos($restriccionDestino1);
					
					//Le paso el listado de todos los cursos a la vista para que los muestre en un combo de filtrado
					$datos['cursosOrigen'] = $listadoCursosOrigen;
					$datos['cursosDestino'] = $listadoCursosDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de las divisiones registradas para pedirle un listado con todas ellas
					$this->load->model('m_division');
					
					//Busco todas las divisiones de origen y destino activas segun las restricciones
					$listadoDivisionesOrigen = $this->m_division->buscarActivos($restriccionOrigen1 . $restriccionOrigen2);
					$listadoDivisionesDestino = $this->m_division->buscarActivos($restriccionDestino1 . $restriccionDestino2);
					
					//Le paso el listado de todas las divisiones a la vista para que los muestre en un combo
					$datos['divisionesOrigen'] = $listadoDivisionesOrigen;
					$datos['divisionesDestino'] = $listadoDivisionesDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos asignados a una division para pedirle un listado con todos ellos
					$this->load->model('m_alumnoxdivision');
					
					//Busco los alumnos cargados a la division origen y destino
					$restriccionOrigen3 = "AND alumnoxdivision.idDivision=".$this->db->escape($idDivisionOrigen)." AND alumnoxdivision.estado=1 AND alumno.idAlumno NOT IN (SELECT alumnoxdivision.idAlumno 
																																											FROM alumnoxdivision, division, curso
																																											WHERE alumnoxdivision.idDivision=division.idDivision AND
																																												  division.idCurso=curso.idCurso AND
																																												  curso.idCicloLectivo=".$idCicloLectivoDestino." AND alumnoxdivision.estado=1)";
					$restriccionDestino3 = "AND alumnoxdivision.idDivision=".$this->db->escape($idDivisionDestino)." AND alumnoxdivision.estado=1";
					
					//Busco todos los alumnos segun las restricciones
					$listadoAlumnosOrigen = $this->m_alumnoxdivision->buscar($restriccionOrigen3);
					$listadoAlumnosDestino = $this->m_alumnoxdivision->buscar($restriccionDestino3);					
					
					//Le paso el listado de todos los alumnos asignados a la vista para que los muestre en una tabla
					$datos['alumnosAsignadosOrigen'] = $listadoAlumnosOrigen;
					$datos['alumnosAsignadosDestino'] = $listadoAlumnosDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo la vista donde se muestra la tabla de asignaciones de alumnos y la guardo en una variable para pasarsela a la vista principal
					$datosPrincipal['vista'] = $this->load->view('v_asignaciones_alumnos_importar', $datos, true);
					
					//Cargo la vista principal con los datos de la vista consultar asignaciones
					$this->load->view('v_sistema', $datosPrincipal);
				} else {
					//El o los registros no existen.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//Los parametros pasados no son validos para consultar los registros.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Este metodo solo se puede llamar con ajax
	//Sirve para eliminar la asignacion pasada por la url
	//El segundo a septimo parametro indican los criteros para filtrar las asignaciones en el resultado
	function eliminar2($idAxD=null, $idCicloLectivoOrigen=null, $idCursoOrigen=null, $idDivisionOrigen=null, $idCicloLectivoDestino=null, $idCursoDestino=null, $idDivisionDestino=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDirector') == '1' || $this->session->userdata('permisoVicedirector') == '1' || $this->session->userdata('permisoSecretario') == '1')){
			//Segunda comprobacion: Que idAxD pasado sea numerico y mayor que cero. Ademas que idCicloLectivoOrigen pasado sea numerico y mayor o igual que cero. Lo mismo para idCurso e idDivision. Idem para el destino.
			if(is_numeric($idAxD) && $idAxD>0 && is_numeric($idCicloLectivoOrigen) && $idCicloLectivoOrigen>=0 && is_numeric($idCursoOrigen) && $idCursoOrigen>=0 && is_numeric($idDivisionOrigen) && $idDivisionOrigen>=0 &&
												 is_numeric($idCicloLectivoDestino) && $idCicloLectivoDestino>=0 && is_numeric($idCursoDestino) && $idCursoDestino>=0 && is_numeric($idDivisionDestino) && $idDivisionDestino>=0){
				
				//Cargo el modelo donde estan los datos de las asignaciones registradas
				$this->load->model('m_alumnoxdivision');
				
				//Busco a la asignacion que hay que eliminar
				$asignacion = $this->m_alumnoxdivision->get($idAxD);
				
				//Cargo el modelo donde estan los datos de los ciclos lectivos
				$this->load->model('m_ciclo_lectivo');
				
				//Busco al ciclo lectivo de origen y destino para comprobar que existe
				$cicloLectivoOrigen = $this->m_ciclo_lectivo->get($idCicloLectivoOrigen);
				$cicloLectivoDestino = $this->m_ciclo_lectivo->get($idCicloLectivoDestino);
				
				//Cargo el modelo donde estan los datos de los cursos
				$this->load->model('m_curso');
				
				//Busco al curso origen y destino para comprobar que existe
				$cursoOrigen = $this->m_curso->get($idCursoOrigen);
				$cursoDestino = $this->m_curso->get($idCursoDestino);
				
				//Cargo el modelo donde estan los datos de las divisiones
				$this->load->model('m_division');
				
				//Busco a la division de origen y destino para comprobar que existe
				$divisionOrigen = $this->m_division->get($idDivisionOrigen);
				$divisionDestino = $this->m_division->get($idDivisionDestino);
				
				//Tercera comprobacion: Que la asignacion sea existente. Ademas que el ciclo lectivo pasado por la url sea existente, o bien el ciclo lectivo sea cero. Lo mismo para el curso y division. Idem para el destino.
				if($asignacion->num_rows() == 1 && ($cicloLectivoOrigen->num_rows() == 1 || $idCicloLectivoOrigen==0) && ($cursoOrigen->num_rows() == 1 || $idCursoOrigen==0) && ($divisionOrigen->num_rows() == 1 || $idDivisionOrigen==0) &&
												   ($cicloLectivoDestino->num_rows() == 1 || $idCicloLectivoDestino==0) && ($cursoDestino->num_rows() == 1 || $idCursoDestino==0) && ($divisionDestino->num_rows() == 1 || $idDivisionDestino==0)){
					
					//Elimino a la asignacion pasada por la url
					$respuesta = $this->m_alumnoxdivision->eliminar($idAxD, $this->session->userdata('idUsuarioLog'));
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los ciclos lectivos
					$listadoCiclosLectivos = $this->m_ciclo_lectivo->buscar();
					
					//Le paso el listado de todos los ciclos lectivos a la vista para que los muestre en un combo de filtrado
					$datos['ciclosLectivos'] = $listadoCiclosLectivos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Le paso a la vista el id del ciclo de origen para que lo seleccione en el combo de filtrado
					$datos['idCicloLectivoOrigenSel'] = $idCicloLectivoOrigen;
					
					//Le paso a la vista el id del ciclo de destinto para que lo seleccione en el combo de filtrado
					$datos['idCicloLectivoDestinoSel'] = $idCicloLectivoDestino;
					
					//Le paso a la vista el id del curso de origen y destino
					$datos['idCursoOrigenSel'] = $idCursoOrigen;
					$datos['idCursoDestinoSel'] = $idCursoDestino;
					
					//Le paso a la vista el id de la division de origen y destino
					$datos['idDivisionOrigenSel'] = $idDivisionOrigen;
					$datos['idDivisionDestinoSel'] = $idDivisionDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Restricciones a los cursos y divisiones de origen y destino
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					$restriccionOrigen1 = "";
					$restriccionOrigen2 = "";
					$restriccionOrigen3 = "";
					
					$restriccionOrigen1 = " AND curso.idCicloLectivo=".$idCicloLectivoOrigen;
					$restriccionOrigen2 = " AND division.idCurso=".$idCursoOrigen;
										
					$restriccionDestino1 = "";
					$restriccionDestino2 = "";
					$restriccionDestino3 = "";
					
					$restriccionDestino1 = " AND curso.idCicloLectivo=".$idCicloLectivoDestino;
					$restriccionDestino2 = " AND division.idCurso=".$idCursoDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los cursos registrados para pedirle un listado con todos ellos
					$this->load->model('m_curso');
					
					//Busco todos los cursos de origen y destino activos segun las restricciones
					$listadoCursosOrigen = $this->m_curso->buscarActivos($restriccionOrigen1);
					$listadoCursosDestino = $this->m_curso->buscarActivos($restriccionDestino1);
					
					//Le paso el listado de todos los cursos a la vista para que los muestre en un combo de filtrado
					$datos['cursosOrigen'] = $listadoCursosOrigen;
					$datos['cursosDestino'] = $listadoCursosDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de las divisiones registradas para pedirle un listado con todas ellas
					$this->load->model('m_division');
					
					//Busco todas las divisiones de origen y destino activas segun las restricciones
					$listadoDivisionesOrigen = $this->m_division->buscarActivos($restriccionOrigen1 . $restriccionOrigen2);
					$listadoDivisionesDestino = $this->m_division->buscarActivos($restriccionDestino1 . $restriccionDestino2);
					
					//Le paso el listado de todas las divisiones a la vista para que los muestre en un combo
					$datos['divisionesOrigen'] = $listadoDivisionesOrigen;
					$datos['divisionesDestino'] = $listadoDivisionesDestino;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos asignados a una division para pedirle un listado con todos ellos
					$this->load->model('m_alumnoxdivision');
					
					//Busco los alumnos cargados a la division origen y destino
					$restriccionOrigen3 = "AND alumnoxdivision.idDivision=".$this->db->escape($idDivisionOrigen)." AND alumnoxdivision.estado=1 AND alumno.idAlumno NOT IN (SELECT alumnoxdivision.idAlumno 
																																											FROM alumnoxdivision, division, curso
																																											WHERE alumnoxdivision.idDivision=division.idDivision AND
																																												  division.idCurso=curso.idCurso AND
																																												  curso.idCicloLectivo=".$idCicloLectivoDestino." AND alumnoxdivision.estado=1)";
					$restriccionDestino3 = "AND alumnoxdivision.idDivision=".$this->db->escape($idDivisionDestino)." AND alumnoxdivision.estado=1";
					
					//Busco todos los alumnos segun las restricciones
					$listadoAlumnosOrigen = $this->m_alumnoxdivision->buscar($restriccionOrigen3);
					$listadoAlumnosDestino = $this->m_alumnoxdivision->buscar($restriccionDestino3);					
					
					//Le paso el listado de todos los alumnos asignados a la vista para que los muestre en una tabla
					$datos['alumnosAsignadosOrigen'] = $listadoAlumnosOrigen;
					$datos['alumnosAsignadosDestino'] = $listadoAlumnosDestino;
					
					//Cargo la vista donde se muestra la tabla de asignaciones
					$this->load->view('v_asignaciones_alumnos_importar', $datos);
				} else {
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					echo("No existe el registro seleccionado para borrar.");
				}
			} else {
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				echo("No se ha pasado los parametros necesarios para borrar un registro.");
			}			
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			echo("No tiene permiso para borrar un registro.");
		}
	}
	
	//Este metodo no se puede llamar con ajax
	//Recorre los alumnos de la division de origen para importarlo en la division de destino.
	//Filtros:
	//Tanto idDivisionOrigen e idDivisionDestino deben ser distinto de cero y mayor que cero.
	//Ultima verificación: 28 - 10 - 2014
	function importar($idDivisionOrigen=null, $idDivisionDestino=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDirector') == '1' || $this->session->userdata('permisoVicedirector') == '1' || $this->session->userdata('permisoSecretario') == '1')){
			//Segunda comprobacion: Que idDivisionOrigen pasado sea numerico y mayor que cero. Lo mismo para idDivisionDestino.
			if(is_numeric($idDivisionOrigen) && $idDivisionOrigen>0 && is_numeric($idDivisionDestino) && $idDivisionDestino>0){
				//Cargo el modelo donde estan los datos de las divisiones
				$this->load->model('m_division');
				
				//Busco a la division origen para corroborar que exista
				$divisionOrigen = $this->m_division->get($idDivisionOrigen);
				
				//Busco a la division destino para corroborar que exista
				$divisionDestino = $this->m_division->get($idDivisionDestino);
				
				//Tercera comprobacion: Que la division origen pasada por la url sea existente. Lo mismo para la division destino.
				if($divisionOrigen->num_rows() == 1 && $divisionDestino->num_rows() == 1){
					//Cargo el modelo donde estan los datos de los alumnos asignados a una division para pedirle un listado con todos ellos
					$this->load->model('m_alumnoxdivision');
					
					//Si resultado es mayor que cero es porque algo se importo.
					$resultado = 0;
					
					//Armo la restricciones a los alumnos de origen.
					$restriccionOrigen = "AND alumnoxdivision.idDivision=".$this->db->escape($idDivisionOrigen)." AND alumnoxdivision.estado=1";
					
					//Busco los alumnos cargados a la division origen para recorrerlos y ver cuales hay que importar.
					$listadoAlumnosOrigen = $this->m_alumnoxdivision->buscar($restriccionOrigen);					
					
					//Recorremos todos los alumnos e importamos los seleccionados
					foreach ($listadoAlumnosOrigen->result() as $alumno){
						//Verificamos si el alumno ha sido seleccionado a importar o no
						if($this->input->post('al_'.$alumno->idAlumno,true) == "on"){
							//Creamos la asignacion a importar con los datos del seleccionado
							$resultado += $this->m_alumnoxdivision->crear($alumno->idAlumno, $idDivisionDestino, 1, $this->session->userdata('idUsuarioLog'));							
						}
					}
					
					if($resultado >= 1){
						if($resultado==1)						
							echo("<script> alert('El alumno se ha importado correctamente.');</script>");
						else
							echo("<script> alert('Los alumnos se han importado correctamente.');</script>");						
						
						echo("<script> window.parent.actualizarAlumnosDestino();</script>");
					}else{
						echo("<script> alert('Los alumnos no se han importado. Ha habido un error o no ha seleccionado ning\u00fan elemento.');</script>");
					}
				} else {
					//El o los registros no existen.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//Los parametros pasados no son validos para consultar los registros.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
}